home *** CD-ROM | disk | FTP | other *** search
- Mouse interface to microemacs
- -----------------------------
-
- Contents:
- User Instructions
- Customization instructions
- Programming notes
-
- User instructions:
-
- - To make any window current, point at the mode line with the mouse
- cursor, and click the left button.
-
- - To position the text cursor to any visible character, point at the
- character with the mouse cursor, and click the left button.
-
- - To adjust window sizes, press the left button with the mouse cursor on
- a mode line, and release it at a new location for that mode line. The
- windows on either side of the mode line will be adjusted accordingly.
-
- - To scroll a window, press the left button with the mouse cursor on any
- line of text, and release it at a new location for that line of text.
- The window will be scrolled accordingly. Note you can't scroll beyond
- the beginning of the file, or across window boundaries.
-
- - To define a region and put it in the killbuffer, press the right button
- at the beginning of the region, drag to the end, and release it.
-
- - To kill a region, after defining a region, without moving the mouse,
- click the right button down and up again.
-
- - To paste the contents of the killbuffer in to the current buffer, move
- the mouse to the location you wish to paste (which can not be at the end
- of the last mouse killed region) and click the right button down and up
- without moving it. The killbuffer will be yanked into the current point.
-
- - To resize a screen, click the left button in the bottom right corner
- of it and release it at the new position of the bottom right corner.
-
- On the Atari-ST, you may access your DESK ACCESSORIES by moving the mouse
- cursor to the far right corner of the screen. Emacs will remain
- inactive until all desk accessory windows are removed from the screen.
- After using your accessories, you will need to type ^L to get the emacs
- display repainted.
-
- When using a color monitor on the Atari ST, Emacs must be run in the
- resolution that was active at boot time in order for the mouse and desk
- accessories to run properly. (You may switch to and from DENSE and HIGH
- without any problems. This problem only exists with color monitors.)
-
-
- Customization instructions:
- ---------------------------
-
- The mouse buttons (currently) appear to Emacs as keystrokes with the "MS"
- prefix. The keys are assigned as follows:
-
- MSa - Left button down
- MSb - Left button up
- MSc - center button down [Not available on Atari-ST/IBM-PC/AMIGA]
- MSd - center button up "
- MSe - right button down
- MSf - right button up
- MSg - 4th button down [Only on VMS workstations with tablet]
- MSh - 4th button up "
-
- MS0 - User selected "About microemacs" in the desk accessory
- menu.
- MS1 - Resize EMACS screen request
-
- On systems that support shifted mouse buttons, the keys FNA-FNH are
- assigned to be the shifted versions of FNa-FNh. [Atari-ST/AMIGA]
-
- On systems that support control of mouse buttons, the keys FM^A-FN^H are
- available. [Atari-ST/AMIGA]
-
- The meta-prefix and ^X-prefix can be applied to mouse buttons. Note,
- however, that it may be difficult for the user to apply a prefix to any
- button-up sequence.
-
- When any mouse event occurs, Emacs sets internal variables to the row
- and column of the mouse cursor location. These are used by the built-in
- mouse functions.
-
- There are eight new built-in functions in emacs that are used to support
- the mouse. They are listed here, along with their default binding:
-
- mouse-move-down MSa Position mouse
- mouse-move-up MSb Drag text/modelines
- mouse-region-down MSe Select region begin/cut/paste
- mouse-region-up MSf Select region end
- mouse-resize-screen MS1 resize the editing screen
-
- Note that these functions compute double-clicks internally by comparing
- the location of the previous mouse click to the current mouse click.
- There are no timers involved.
-
- You may build more complicated functions in the editor extension
- language. These would usually call "mouse-move-down" to determine what
- point was selected by the user.
-
- Programming notes:
- ------------------
-
- The terminal-specific "getc" routine is responsible for figuring out
- the mouse reports, and feeding them to the caller as the following
- sequence of bytes (in the MSDOS and Atari ST drivers):
-
- 0, 0 Two Flag bytes that indicates following characters are a
- mouse report
- column Column number of mouse cursor at time of mouse event
- row Row number of mouse cursor at time of mouse event
- button Suffix letter of event and given in customization
- notes. (one of a-f,A-F,0, or 1).
-
- There are decoded in INPUT.C into their 16-bit assignment.
-